@ner
2年前 提问
1个回答
如何通过代码分析找到 0day
房乐
2年前
使用正则表达式筛选代码的执行、直通、系统、shell_exec、en、proc_open功能,检查它们的使用位置,以及哪些参数传递给他们,遵循参数,来自哪里,是否是用户提供的输入等。然后检查它们的使用位置。以及哪些参数传递给他们。然后遵循参数。他们来自哪里?甚至是用户提供的输入吗?如果幸运的话,也许一些用户输入将传递给这些函数,并且您很可能将具有RCE向量。
您还可以使用grep查找mysql的内容,看看是否有未转义输入的查询,您可以在其中执行SQLi。文件处理也很好看。应用程序正在读取或写入磁盘吗?也跟随该流,查看数据来自何处。还要检查反序列化,因为它可能容易受到对象注入的影响。
基本上就是这样。尝试查找功能,遵循输入,尝试了解此处发生的情况以及输入的来源。并尝试注入有效载荷。您还可以做的只是检查OWASP Top X漏洞,看看是什么触发了这些漏洞,然后在应用程序中查找代码。这就像您可以执行的基准检查。但是,在查看代码时,您会慢慢了解应用程序,甚至可能发现可以利用的逻辑错误。
另一种方法是使用Fuzzer。这也很棒,但是需要使用模糊器和应用程序的一些经验。模糊化应用程序的所有可能输入是没有意义的,因为这将永远花费。如果要进行模糊测试,则需要正确设置范围。